<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        *{padding: 0;margin: 0;}
        ul{
            overflow: hidden;
        }

        li{
            float: left;
            margin: 10px;
            border: 1px solid #ccc;
            border-radius: 10px;
            padding: 5px;
            list-style: none;
            text-align: center;
        }
        img{
            width: 100px;
            height: 100px;
        }
    </style>
</head>

<body>
    <button>GET发送ajax请求</button>
    <ul>
        <!-- <li>
            <img src="" alt="">
            <p>金克斯</p>
        </li> -->
    </ul>
    <script>
         const btn = document.querySelector('button');
         const ul = document.querySelector('ul');
        // 2. 给按钮添加点击事件
        btn.onclick = function () {
            // 3. 创建一个XMLHttpRequest对象
            let x = new XMLHttpRequest()
            // 4. 开始请求(get,请求绝对路径) - 注意：后端需配置CORS
            x.open('get','http://localhost/getHeros')
            // 5. 发送请求
            x.send()
            // 6. 设置响应体的结果类型（方式1）
            x.responseType = 'json';
            // 7. 监听 当xhr对象状态发生变化的时候
            x.onreadystatechange = function(){
                if(x.readyState === 4){
                    if(x.status >=200 && x.status<300){
                        // console.log(x.response);
                        let arr = x.response;
                        // console.log(JSON.parse(x.response));

                        arr.forEach(item => {
                            let li = document.createElement('li');
                            li.innerHTML = `
                                <img src="${item.avatar}" alt="">
                                <p>${item.name}</p>
                            `
                            ul.appendChild(li);
                        });
                    }
                }
            }
                // 8. 判断 就绪状态码 是否为“4” （完成）
                    // 9. 满足条件：获取xhr对象的响应内容
                    // 10. 处理res.response数据并转成对象（方式2）
                    // 11. 并将获取到的数据放入到p标签之内

        }
            
    </script>
</body>

</html>